/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.asportoonline.entities;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * Questa classe non e' un'entita', ma rappresenta solo l'ID della classe ProdottoPrenotato.
 * 
 * @author fe
 * @see ProdottoPrenotato
 */
@Embeddable 
public class ProdottoPrenotatoID implements Serializable {

    /* CAMPI CHE FORMANO LA CHIAVE PRIMARIA */
    @Basic(optional = false) 
    @Column(name = "idpren") 
    private long idpren; 

    @Basic(optional = false) 
    @Column(name = "idprod") 
    private long idprod; 
    
    
    /* COSTRUTTORI */
    /**
     * Crea una nuova istanza di ProdottoPrenotatoID.
     */
    public ProdottoPrenotatoID() {}
    
    
    
    /* GETTER AND SETTER */
    /**
     * @return ID della prenotazione associata.
     * @see Prenotazione
     */
    public long getIdpren() {
        return idpren;
    }

    /**
     * Imposta l'ID della prenotazione associata.
     * 
     * @param idpren 
     * @see Prenotazione
     */
    public void setIdpren(long idpren) {
        this.idpren = idpren;
    }

    /**
     * @return ID del prodotto associato.
     * @see Prodotto
     */
    public long getIdprod() {
        return idprod;
    }

    /**
     * Imposta l'ID del prodotto associato.
     * 
     * @param idprod
     * @see Prodotto
     */
    public void setIdprod(long idprod) {
        this.idprod = idprod;
    }
    
    
    
    
    /* EQUALS AND HASHCODE */

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ProdottoPrenotatoID other = (ProdottoPrenotatoID) obj;
        if (this.idpren != other.idpren) {
            return false;
        }
        if (this.idprod != other.idprod) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 29 * hash + (int) (this.idpren ^ (this.idpren >>> 32));
        hash = 29 * hash + (int) (this.idprod ^ (this.idprod >>> 32));
        return hash;
    }

    
    
    
    /* METODI TOSTRING */
    
    @Override
    public String toString() {
        return "ProdottoPrenotatoID{" + "idpren=" + idpren + ", idprod=" + idprod + '}';
    }
    
}
